1. Field of the Invention
The present invention relates generally to an apparatus and method for acquiring a remote name of a Bluetooth® (hereinafter, Bluetooth) device in a Bluetooth system.
2. Description of the Related Art
Bluetooth protocol is a two-way real-time cordless communication protocol that has a coverage of about 10 m and makes it possible to remove complex wires within a specific area. A data rate of the Bluetooth protocol is up to 1 Mbps. The Bluetooth protocol uses the 2.4-GHz Industrial Scientific and Medical (ISM) band and 79 channels spaced 1 MHz apart (the number of channels is different for each country). In addition, a frequency hopping scheme that is one of spread spectrum schemes is used to reduce the interference with other devices.
FIG. 1 is a block diagram of a conventional Bluetooth system.
In FIG. 1, the conventional Bluetooth system includes a Bluetooth host 100 and a Bluetooth module 120. The Bluetooth module 120 receives a request from the Bluetooth host 100 and enables communication with other Bluetooth devices according to a Bluetooth standard.
A Host Control Interface (HCI) is defined between the Bluetooth host 100 and the Bluetooth module 120. Control command and user transmit/receive (TX/RX) data are exchanged between the Bluetooth host 100 and the Bluetooth module 120 through HCI packet transmission/reception. Examples of the interface delivering HCI packets include RS232C, and Universal Serial Bus (USB), and a PC card, such as, a Personal Computer Memory Card International Association (PCMCIA) card.
The Bluetooth host 100 includes an upper layer driver 105, a Bluetooth HCI driver 107, and a physical bus driver 109. The Bluetooth module 120 includes an HCI firmware 125, a link manager firmware 127, and a baseband controller 129. A physical bus hardware 110 including a physical bus firmware 115 and the physical bus driver 109 manage the HCI packet transmission/reception.
The HCI packet includes a command packet, an event packet, and a data packet. The command packet provides about 60 commands in order for various applications of the Bluetooth module.
FIG. 2 is a flowchart illustrating a connection process of a conventional Bluetooth system.
In FIG. 2, a Bluetooth host 200 performs an inquiry request periodically every 625 μs in order to search adjacent Bluetooth devices in step 204. The inquiry request is performed for to find the presence/absence of the adjacent Bluetooth devices. The Bluetooth devices receiving the inquiry request perform an inquiry response.
When a specific Bluetooth device 250 receives the inquiry request, it transmits an inquiry response to the Bluetooth host 200 in step 206. The inquiry response includes Bluetooth address (BD_ADDR), which is an inherent address of the Bluetooth device 250, a page scan repetition mode, a page scan mode, and a clock offset. A Received Signal Strength Indication (RSSI) can be measured through the inquiry response.
When the Bluetooth host 200 receives the inquiry response from the Bluetooth devices, it display the Bluetooth devices responding to the inquiry request in response order and a user or a predetermined program can select the specific Bluetooth device 250. In addition, when the Bluetooth host 200 receives the inquiry response, it performs a remote name request procedure in order to acquire user-friendly names of the Bluetooth devices. The remote name request procedure requires a physical channel connection. After the remote name request procedure, the Bluetooth host 200 outputs the user-friendly names of the Bluetooth devices.
When the specific Bluetooth device 250 is selected, the Bluetooth host 200 requests a connection to the specific Bluetooth device 250 in step 210. The specific Bluetooth device 250 provides a connection response to the Bluetooth host 200 in step 212. The connection procedure includes both a physical connection and a logical connection, e.g., a connection to the upper layer.
The Bluetooth host 200 and the Bluetooth device 250 can transmit/receive data in a communication state. When a security function is enabled, a pairing procedure that is an authentication procedure may be further performed.
After the inquiry request procedure, the remote name request procedure is performed in order to acquire the user-friendly names of the Bluetooth devices. However, when a plurality of Bluetooth devices respond to the remote name request at the same time, a probability of data contention increases. Therefore, the response to the remote name request is performed after a random time interval.
The Bluetooth host 200 generates a database in order of response arrival and then requests an Asynchronous ConnectionLess (ACL) procedure for the remote name request. However, when the Bluetooth device responds to the inquiry request but is located at a threshold position in terms of arrival distance or signal transmission, there is a great probability that a remote name acquisition procedure will fail. Even though the remote name acquisition procedure does not fail, a response delay of several seconds occurs. Due to the response delay, a remote name of a Bluetooth device located close to the Bluetooth host 200 may not be acquired. Thus, it may be difficult to search a large number of Bluetooth devices within a given time.
Therefore, there is a demand for an apparatus and method that can acquire remote names of Bluetooth devices in descending order of RSSI values obtained during the inquiry procedure.